package com.example.hello.mapper;

import com.example.hello.entity.Attraction;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface AttractionMapper {
    /**
     * 添加景点信息
     */
    int insertAttraction(Attraction attraction);
    
    /**
     * 更新景点信息
     */
    int updateAttraction(Attraction attraction);
    
    /**
     * 通过ID删除景点信息
     */
    int deleteAttractionById(Long attractionId);
    
    /**
     * 通过ID获取景点信息
     */
    Attraction getAttractionById(Long attractionId);
    
    /**
     * 通过景点名称获取景点信息
     */
    Attraction getAttractionByName(String name);
    
    /**
     * 获取景点列表
     */
    List<Attraction> getAttractionList(@Param("attraction") Attraction attraction);
    
    /**
     * 获取指定分类下的景点数量
     */
    int countByCategoryId(Integer categoryId);
    
    /**
     * 增加景点访问量
     */
    int incrementViewCount(Long attractionId);
    
    /**
     * 更新景点平均评分
     */
    int updateAvgRating(@Param("attractionId") Long attractionId, @Param("avgRating") Double avgRating);
} 